'''
    实现erp系统的登录操作行为的loginpage
    每一个页面对象代码结构模板都是相同的。直接抄就可以了。
'''

from pom_ui_frame.base_page.basepage import BasePage


class LoginPage(BasePage):
    # 页面url
    url = 'http://39.101.122.147:3000/user/login'

    # 页面核心元素：与操作流程相关联的元素，其余元素不需要。
    login_name = ('xpath', '//*[@id="loginName"]')  # 元素核心内容包括定位方法以及对应的value
    login_pwd = ('id', 'password')
    login_code = ('id', 'inputCode')
    login_img = ('xpath', '//img[@data-v-4f5798c5]')
    login_button = ('xpath', '//button[@data-v-4f5798c5]')
    delete = ('xpath', '/html/body/div[6]/div/div[1]/a')

    # 页面的子流程封装

    def login(self, user, pwd):
        self.open(self.url)
        self.input(*self.login_name, txt=user)
        self.input(*self.login_pwd, txt=pwd)
        self.input(*self.login_code, txt=self.get_code(*self.login_img))
        self.click(*self.login_button)
        self.wait(1)
        try:
            self.click(*self.delete)  # 尝试点击元素
            self.wait(1)
        except Exception as e:  # 捕获所有异常（或指定更具体的异常类型，如 NoSuchElementException）
            print("已加载缓存")  # 打印提示信息




# if __name__ == '__main__':
#     service = Service('../chromedriver.exe')
#     driver = webdriver.Chrome(service=service,options=options())
#     lp = LoginPage(driver)
#     lp.login('jsh', '123456')
